feat: implement middleware system #52
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
π Description
This PR implements a middleware system for tRPC-MCP-Go, providing flexible request/response processing capabilities for both client and server.
π Key Features Added
MiddlewareFunc,MiddlewareChain)ToolHandler,Resource,Prompt)π οΈ Files Changed (18 files)
Core Implementation
middleware.go- Core middleware implementationmiddleware_test.go- Basic middleware testsmiddleware_advanced_test.go- Advanced middleware testsIntegration
client.go- Client middleware integrationserver.go- Server middleware integrationhandler.go- Handler middleware supportDocumentation
MIDDLEWARE.md- Comprehensive documentationMIDDLEWARE_IMPLEMENTATION_COMPLETE.md- Implementation summaryIMPLEMENTATION_SUMMARY.md- Technical detailsExamples
examples/middleware_example/- Basic usageexamples/client_middleware_example/- Client demoexamples/server_middleware_example/- Server demoUtilities
demo_enhanced_middleware.go- Enhanced demonstrationsmiddleware_monitoring.go- Monitoring utilitiesverify.ps1- Verification script.gitignore- Git ignore rulesπ§ͺ Testing
π Documentation
π Breaking Changes
None. Full backward compatibility maintained.